From 2ca4e8dcbd35e5c6da41a195550d741ccb2f7978 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@uclibc-ng.org>
Date: Sat, 26 Nov 2016 19:47:41 +0100
Subject: [PATCH] do not define madvise related macros for noMMU targets

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
---
 libc/sysdeps/linux/common/bits/mman-common.h | 41 +++++++++++++++-------------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/libc/sysdeps/linux/common/bits/mman-common.h b/libc/sysdeps/linux/common/bits/mman-common.h
index 6cde5da..5b20da4 100644
--- a/libc/sysdeps/linux/common/bits/mman-common.h
+++ b/libc/sysdeps/linux/common/bits/mman-common.h
@@ -83,26 +83,29 @@
 # define MREMAP_FIXED	2
 #endif
 
+/* only define for MMU targets, no-MMU does not support madvise.  */
+#ifdef __ARCH_USE_MMU__
 /* Advice to `madvise'.  */
-#ifdef __USE_BSD
-# define MADV_NORMAL	  0	/* No further special treatment.  */
-# define MADV_RANDOM	  1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	  3	/* Will need these pages.  */
-# define MADV_DONTNEED	  4	/* Don't need these pages.  */
-# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	  11	/* Do inherit across fork.  */
-# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
-# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
-# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
-#endif
+# ifdef __USE_BSD
+#  define MADV_NORMAL	  0	/* No further special treatment.  */
+#  define MADV_RANDOM	  1	/* Expect random page references.  */
+#  define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
+#  define MADV_WILLNEED	  3	/* Will need these pages.  */
+#  define MADV_DONTNEED	  4	/* Don't need these pages.  */
+#  define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+#  define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+#  define MADV_DOFORK	  11	/* Do inherit across fork.  */
+#  define MADV_MERGEABLE  12	/* KSM may merge identical pages.  */
+#  define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+#  define MADV_HWPOISON	  100	/* Poison a page for testing.  */
+# endif
 
 /* The POSIX people had to invent similar names for the same things.  */
-#ifdef __USE_XOPEN2K
-# define POSIX_MADV_NORMAL	0 /* No further special treatment.  */
-# define POSIX_MADV_RANDOM	1 /* Expect random page references.  */
-# define POSIX_MADV_SEQUENTIAL	2 /* Expect sequential page references.  */
-# define POSIX_MADV_WILLNEED	3 /* Will need these pages.  */
-# define POSIX_MADV_DONTNEED	4 /* Don't need these pages.  */
+# ifdef __USE_XOPEN2K
+#  define POSIX_MADV_NORMAL	0 /* No further special treatment.  */
+#  define POSIX_MADV_RANDOM	1 /* Expect random page references.  */
+#  define POSIX_MADV_SEQUENTIAL	2 /* Expect sequential page references.  */
+#  define POSIX_MADV_WILLNEED	3 /* Will need these pages.  */
+#  define POSIX_MADV_DONTNEED	4 /* Don't need these pages.  */
+# endif
 #endif
-- 
2.1.4

